#ifndef HGT_FREE_EARTH_H
#define HGT_FREE_EARTH_H 1

#include <FreeEarth/IFreeEarth.h>

#include <osgViewer/Viewer>
#include <osgViewer/CompositeViewer>
#include <FreeEarth/RenderContext.h>

class CFreeEarth
	: public IFreeEarth
{
	X3BEGIN_CLASS_DECLARE(CFreeEarth, clsidFreeEarth)
		X3DEFINE_INTERFACE_ENTRY(IFreeEarth)
		X3END_CLASS_DECLARE()
protected:
	CFreeEarth();
	virtual ~CFreeEarth();

private: // override IFreeEarth
	virtual bool Initialize(std::string strDataPath = "");
	virtual bool Uninitialize();
	virtual IRenderContext* GetRenderContext();

private:	
	osg::ref_ptr<CRenderContext>						m_rpRenderContext;
};

#endif // HGT_FREE_EARTH_H